Skip to content

DNM: Deploy with ORC managed resources#10680

Open
mandre wants to merge 6 commits into
openshift:mainfrom
shiftstack:capo-orc
Open

DNM: Deploy with ORC managed resources#10680
mandre wants to merge 6 commits into
openshift:mainfrom
shiftstack:capo-orc

Conversation

@mandre

@mandre mandre commented Jul 10, 2026

Copy link
Copy Markdown
Member

Swap CAPO with a prototype that leverages ORC for all openstack resources managements.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Ignore keyword(s) in the title.

⛔ Ignored keywords (3)
  • WIP
  • DO NOT MERGE
  • DNM

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: b131f9bb-3bd4-4c20-beec-d92cc5e7a3e1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 10, 2026
@openshift-ci
openshift-ci Bot requested review from gryf and stephenfin July 10, 2026 09:54
@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign mandre for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

mandre added 5 commits July 10, 2026 17:10
Point CAPO to shiftstack/cluster-api-provider-openstack@prototype-orc-controllers
which leverages ORC controllers for OpenStack resource management.

This requires a development build of ORC (ef6119d9effa) that adds new API
types (PortValueSpec, ServerSchedulerHints) and fields (BootVolume,
PropagateUplinkStatus, ValueSpecs, TrustedVIF) not yet in any ORC release.

- Add replace directives for CAPO and ORC in all three go.mod files
- Regenerate CAPO and ORC infrastructure-components manifests
- Fix Azure topology.ShouldSkipImmutabilityChecks -> IsDryRunRequest
  (renamed in cluster-api v1.13.x, pulled in transitively)
Vendor updates for CAPO prototype-orc-controllers branch and ORC
development build (ef6119d9effa). Includes transitive bumps of
cluster-api, controller-runtime, gophercloud, and k8s libraries.
Collect ORC (OpenStack Resource Controller) objects alongside the
existing CAPI artifacts for debugging. When CAPO uses ORC controllers
to manage OpenStack resources (servers, ports, volumes, etc.), these
objects are created in the local envtest API server but were not
previously captured.

The new collectORCManifests function uses unstructured list calls
against the ORC API group (openstack.k-orc.cloud/v1alpha1) to
discover and serialize all ORC resources. On non-OpenStack platforms
where ORC CRDs are not installed, the listing is silently skipped.
Update the vendored CAPO from prototype-orc-controllers branch
which includes a fix for port fixedIPs being dropped when using
managedSubnets.

The fix preserves user-specified fixedIPs on ports instead of
overwriting them with clusterSubnets, and falls back to resolved
subnets from the cluster status when spec.Subnets and
spec.PrimarySubnet are both unset (managedSubnets case). It also
sets networkRef on ORC Subnet filters as required by the ORC CRD.
After envtest teardown, the ORC port controller is terminated
before it can delete the bootstrap Neutron port. The port still
references the bootstrap security group, so the SG deletion fails
with 409 SecurityGroupInUse.

Before deleting the bootstrap security group, find and delete any
ports that still reference it. This handles the case where ORC was
killed mid-cleanup.

Also fix a logging bug where 'Successfully deleted' was printed
even when the deletion failed.
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 10, 2026
@openshift-ci

openshift-ci Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

@mandre: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/azure-ovn-marketplace-images 6bfb117 link false /test azure-ovn-marketplace-images
ci/prow/gcp-custom-endpoints-proxy-wif 6bfb117 link false /test gcp-custom-endpoints-proxy-wif
ci/prow/verify-deps 6bfb117 link true /test verify-deps
ci/prow/okd-scos-images 6bfb117 link true /test okd-scos-images
ci/prow/gcp-private 6bfb117 link false /test gcp-private
ci/prow/azure-private 6bfb117 link false /test azure-private
ci/prow/verify-vendor 6bfb117 link true /test verify-vendor
ci/prow/openstack-manifests 6bfb117 link true /test openstack-manifests
ci/prow/images 6bfb117 link true /test images
ci/prow/aws-private 6bfb117 link false /test aws-private

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant